const fs = require('fs');

function p1() {
    return new Promise((resolve, reject) => {
        fs.readFile('./1.txt', 'utf-8', (err, result) => {
            if (err != null) {
                reject(err);
            } else {
                resolve(result);
            };
        })
    });
};

function p2() {
    return new Promise((resolve, reject) => {
        fs.readFile('./2.txt', 'utf-8', (err, result) => {
            if (err != null) {
                reject(err);
            } else {
                resolve(result);
            };
        })
    });
};

function p3() {
    return new Promise((resolve, reject) => {
        fs.readFile('./3.txt', 'utf-8', (err, result) => {
            if (err != null) {
                reject(err);
            } else {
                resolve(result);
            };
        })
    });
};

                                // 1.链式调用:
p1().then((result) => {
    console.log(result);
    return p2();
}).catch((error) => {
    console.log(error);
    return p2();
})

.then((result) => {
    console.log(result);
    return p3();
}).catch((error) => {
    console.log(error);
    return p3();
})

.then((result) => {
    console.log(result);
}).catch((error) => {
    console.log(error);
})

                                // 2.正常调用方法:
// p1().then((result) => {
//     console.log(result);
// }).catch((error) => {
//     console.log(error);
// });

// p2().then((result) => {
//     console.log(result);
// }).catch((error) => {
//     console.log(error);
// });

// p3().then((result) => {
//     console.log(result);
// }).catch((error) => {
//     console.log(error);
// });


